/*
 * HidFFB.h
 *
 *  Created on: 12.02.2020
 *      Author: Yannick
 */

#ifndef HIDFFB_H_
#define HIDFFB_H_

#include "ffb_defs.h"
#include "Filters.h"
#include "EffectsCalculator.h"
#include "FastAvg.h"


typedef struct HidFFB
{
	FFB_Effect effects[MAX_EFFECTS];
	EffectsCalculator* effects_calc;
	uint16_t used_effects;
	bool ffb_active;
	FFB_BlockLoad_Feature_Data_t blockLoad_report;
	FFB_PIDPool_Feature_Data_t pool_report;
	reportFFB_status_t reportFFBStatus;
}HidFFB;

void HidFFB_Init(HidFFB* ffb);
void HidFFB_setEffectsCalculator(HidFFB* ffb,EffectsCalculator *ec);
bool HidFFB_getFfbActive(HidFFB* ffb);



#endif /* HIDFFB_H_ */
